#include <gtest/gtest.h>
#include <iostream>
#include "Hero.h"

TEST(Herotest, HeroHealth) 
{
    Hero hero;
    ASSERT_GT(hero.getCurHealth(), 0);
    ASSERT_GT(hero.getMaxHealth(), 0);
    ASSERT_EQ(hero.getCurHealth(), hero.getMaxHealth());
    ASSERT_EQ(100, hero.getCurHealth());
}

TEST(Herotest, HeroDamage)
{
    Hero hero;
    ASSERT_GT(hero.getMaxDamage(), hero.getMinDamage());
    ASSERT_EQ(10, hero.getMinDamage());
    ASSERT_EQ(20, hero.getMaxDamage());
    ASSERT_TRUE(hero.getDamage() >= 10);
    ASSERT_TRUE(hero.getDamage() <= 45);
}

TEST(Herotest, HeroArmor)
{
    Hero hero;
    ASSERT_GT(hero.getArmor(), 0);
    ASSERT_EQ(5, hero.getArmor());
}

TEST(Herotest, HeroCritDamage)
{
    Hero hero;
    ASSERT_EQ(1.5, hero.getCriticalStrikeMultiplier());
}

TEST(Herotest, testValidDifficultySelection) 
{
    Hero hero;
    hero.difficultySelection();
    //ASSERT_FALSE(hero.validDifficultySelection(0));
    //ASSERT_TRUE(hero.validDifficultySelection(2));
    //ASSERT_FALSE(hero.validDifficultySelection(4));
}